package com.puboot.module.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.puboot.module.model.LkChapter;
import com.puboot.module.model.LkChapterLang;
import com.puboot.module.model.LkComic;
import com.puboot.module.model.LkComicLang;
import com.baomidou.mybatisplus.extension.service.IService;
import com.puboot.module.vo.ImageDetVo;
import com.puboot.module.vo.ImageRecVo;

import java.util.HashMap;
import java.util.List;

/**
 * (LkChapter)表服务接口
 *
 * @author Leonidax
 * @since 2024-10-14 11:49:10
 */
public interface LkChapterService extends IService<LkChapter>{
    void translateChapter(Integer id, List<ImageRecVo> recVos, List<ImageDetVo> detVos);
    int updateIsFee(Integer id);
    int updateTotal(Integer id);
    List<LkChapter> all4Upload();
    /**
     * 获取章节阅读页的页面信息
     * @param chapter
     * @param lang
     * @return
     */
    HashMap<String,String> getPageInfo(LkChapter chapter, String lang);
    /**
     * 用于站长检查垃圾图片
     * @param page
     * @return
     */
    IPage<LkChapter> check(Integer page);
    /**
     * 翻译章节
     * @param id
     * @param lang
     * @return
     */
    LkChapter translateChapter(Integer id, String lang);

    /**
     * 通过ID查询单条数据
     *
     * @param id 章节ID
     * @param lang 语言
     * @return 实例对象
     */
    LkChapter queryById(Integer id, String lang);

    LkChapter getById(Integer id);


    /**
     * 查询指定行数据
     *
     * @param comicId 所属漫画
     * @param lang    所属语言
     * @return 对象列表
     */
    List<LkChapter> chapters(Integer comicId, String lang);

    /**
     * 新增数据
     *
     * @param lkChapter 实例对象
     * @return 实例对象
     */
    LkChapter insert(LkChapter lkChapter);

    /**
     * 修改数据
     *
     * @param lkChapter 实例对象
     * @return 实例对象
     */
    LkChapter update(LkChapter lkChapter);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

}
